feat: rename Error to GridError and add additionalProperties to error schemas#131
Conversation
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
Greptile OverviewGreptile SummaryThis PR standardizes error handling across the Grid API by introducing a new Key Changes
Issues Found
Confidence Score: 4/5
|
| Filename | Overview |
|---|---|
| openapi/components/schemas/common/GridError.yaml | new standardized error schema with flexible additionalProperties: true on details object |
| openapi/components/schemas/customers/BulkCustomerImportErrorEntry.yaml | extends GridError and adds correlationId field for bulk import error tracking |
| openapi/components/schemas/webhooks/IncomingPaymentWebhookForbiddenResponse.yaml | updated to extend from GridError instead of Error |
| openapi/components/schemas/webhooks/IncomingPaymentWebhookUnprocessableResponse.yaml | updated to extend from GridError instead of Error |
Sequence Diagram
sequenceDiagram
participant Client
participant API as Grid API
participant Validator
participant ErrorHandler
Client->>API: API Request
API->>Validator: Validate Request
alt Invalid Request
Validator->>ErrorHandler: Validation Failed
ErrorHandler->>ErrorHandler: Create GridError with<br/>code, message, details
ErrorHandler->>API: Return Error4XX
API->>Client: GridError Response<br/>(additionalProperties: true)
else Server Error
API->>ErrorHandler: Internal Error
ErrorHandler->>ErrorHandler: Create GridError with<br/>code, message, details
ErrorHandler->>API: Return Error5XX
API->>Client: GridError Response<br/>(additionalProperties: true)
else Webhook Response
API->>Client: Webhook Event
Client->>Client: Process Webhook
alt Forbidden
Client->>API: GridError with reason<br/>(e.g., RESTRICTED_JURISDICTION)
else Unprocessable
Client->>API: GridError with requiredFields<br/>(missing counterparty info)
else Success
Client->>API: 200 OK
end
else Bulk Import Error
API->>ErrorHandler: Import Entry Failed
ErrorHandler->>ErrorHandler: Create BulkCustomerImportErrorEntry<br/>(extends GridError + correlationId)
ErrorHandler->>API: Add to errors array
API->>Client: BulkCustomerImportJob with errors[]
end
6432728 to
e5749d2
Compare
Additional Comments (1)
Prompt To Fix With AIThis is a comment left during a code review.
Path: openapi/paths/customers/customers_{customerId}.yaml
Line: 145:145
Comment:
Incomplete migration: still references `Error.yaml` instead of `GridError.yaml`. For consistency with the rest of this PR, this should be updated to use `GridError.yaml`.
```suggestion
$ref: ../../components/schemas/common/GridError.yaml
```
How can I resolve this? If you propose a fix, please make it concise. |
68ab09c to
5786fb9
Compare
e5749d2 to
a27f6e6
Compare
Additional Comments (1)
Prompt To Fix With AIThis is a comment left during a code review.
Path: openapi/paths/customers/customers_{customerId}.yaml
Line: 145:145
Comment:
Inconsistent error schema reference - should use `GridError.yaml` instead of `Error.yaml` to match the PR's goal of standardizing on `GridError`
```suggestion
$ref: ../../components/schemas/common/GridError.yaml
```
How can I resolve this? If you propose a fix, please make it concise. |
5786fb9 to
79467e5
Compare
a27f6e6 to
a1379cd
Compare
Additional Comments (1)
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time! Prompt To Fix With AIThis is a comment left during a code review.
Path: openapi/paths/customers/customers_{customerId}.yaml
Line: 145:145
Comment:
Update this to reference `GridError` for consistency with other error responses
```suggestion
$ref: ../../components/schemas/common/GridError.yaml
```
<sub>Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!</sub>
How can I resolve this? If you propose a fix, please make it concise. |
79467e5 to
9f4bbd9
Compare
a1379cd to
d0f0475
Compare
Additional Comments (1)
Prompt To Fix With AIThis is a comment left during a code review.
Path: openapi/paths/customers/customers_{customerId}.yaml
Line: 145:145
Comment:
inconsistent reference - should use `GridError` instead of `Error` to match the pattern established in this PR
```suggestion
$ref: ../../components/schemas/common/GridError.yaml
```
How can I resolve this? If you propose a fix, please make it concise. |
d0f0475 to
94a379a
Compare
9f4bbd9 to
4e17d69
Compare
Additional Comments (1)
Prompt To Fix With AIThis is a comment left during a code review.
Path: openapi/paths/customers/customers_{customerId}.yaml
Line: 145:145
Comment:
this should reference `GridError.yaml` not `Error.yaml` for consistency with the rest of the PR
```suggestion
$ref: ../../components/schemas/common/GridError.yaml
```
How can I resolve this? If you propose a fix, please make it concise. |
4e17d69 to
5022722
Compare
94a379a to
c72b46f
Compare
c72b46f to
99a29c9
Compare
5022722 to
03ebf04
Compare
Additional Comments (1)
Prompt To Fix With AIThis is a comment left during a code review.
Path: openapi/paths/customers/customers_{customerId}.yaml
Line: 145:145
Comment:
reference to `Error.yaml` should be updated to `GridError.yaml` for consistency
```suggestion
$ref: ../../components/schemas/common/GridError.yaml
```
How can I resolve this? If you propose a fix, please make it concise. |
99a29c9 to
d8d7c4d
Compare
03ebf04 to
db286da
Compare
Additional Comments (1)
Prompt To Fix With AIThis is a comment left during a code review.
Path: openapi/paths/customers/customers_{customerId}.yaml
Line: 145:145
Comment:
Still references old `Error.yaml` instead of `GridError.yaml`
```suggestion
$ref: ../../components/schemas/common/GridError.yaml
```
How can I resolve this? If you propose a fix, please make it concise. |
db286da to
493e9f8
Compare
d8d7c4d to
1c31c37
Compare
Additional Comments (1)
Prompt To Fix With AIThis is a comment left during a code review.
Path: openapi/components/schemas/common/Error.yaml
Line: 9:11
Comment:
`Error` schema's `details` field is missing `additionalProperties: true` while all other error schemas now have it
```suggestion
details:
type: object
description: Additional error details
additionalProperties: true
```
How can I resolve this? If you propose a fix, please make it concise. |
493e9f8 to
34de965
Compare
1c31c37 to
fbf418e
Compare
fbf418e to
48e70c8
Compare
34de965 to
e2eb0c0
Compare
Additional Comments (1)
Prompt To Fix With AIThis is a comment left during a code review.
Path: openapi/paths/customers/customers_{customerId}.yaml
Line: 145:145
Comment:
should reference `GridError.yaml` instead of `Error.yaml` to be consistent with the PR's goal of standardizing on `GridError`
```suggestion
$ref: ../../components/schemas/common/GridError.yaml
```
How can I resolve this? If you propose a fix, please make it concise. |

TL;DR
Added a new
GridErrorschema and improved error handling in the OpenAPI specification.What changed?
GridErrorschema to standardize error responsesadditionalProperties: trueto all error schemadetailsobjects to allow for flexible error detailsBulkCustomerImportErrorEntryto extend fromGridErrorinstead of using a nested error structureGridErrorinstead ofError